package upc.edu.clases;

import java.util.ArrayList;

public class CartaFianza extends Documento {
	ArrayList<CartaFianza> lstCartaFianza = new ArrayList();
	
	public ArrayList<CartaFianza> getLstCartaFianza() {
		return lstCartaFianza;
		
	}

	public void setLstCartaFianza(ArrayList<CartaFianza> lstCartaFianza) {
		this.lstCartaFianza = lstCartaFianza;
	}
	private String IdCartaFianza="";
	private String IdContrato="";
	private String Banco="";
	private String Proveedor="";
	private double Importe;
	String Responsable="";
	public String getIdCartaFianza() {
		return IdCartaFianza;
	}
	public void setIdCartaFianza(String idCartaFianza) {
		IdCartaFianza = idCartaFianza;
	}
	public String getIdContrato() {
		return IdContrato;
	}
	public void setIdContrato(String idContrato) {
		IdContrato = idContrato;
	}
	public String getBanco() {
		return Banco;
	}

	public void setBanco(String banco) {
		Banco = banco;
	}

	public String getProveedor() {
		return Proveedor;
	}
	public void setProveedor(String proveedor) {
		Proveedor = proveedor;
	}
	public double getImporte() {
		return Importe;
	}
	public void setImporte(double importe) {
		Importe = importe;
	}
	public String Grabar(CartaFianza objCFianza,String sw) {
		CartaFianza objLCFianza = new CartaFianza();
		String Rpta="";
		String Existe="no";
		int index=-1;
		if (objCFianza.getIdCartaFianza().equalsIgnoreCase("")) {
			Rpta = "Ingresar Numero de Carta Fianza";
		}else{
				
			for(int i=0;i<lstCartaFianza.size();i++){ //Encontrar el codigo de la carta fianza y aprovechar para buscar el Indice para editar
					objLCFianza=lstCartaFianza.get(i);
					Existe="no";
					if (lstCartaFianza.size()>0){
							if(objLCFianza.getIdCartaFianza().equalsIgnoreCase(objCFianza.getIdCartaFianza())){
								Existe="si existe";
								break;
							}
							else {
								Existe="no";
							}	
						index=i;
					}
				}
					if (sw.equalsIgnoreCase("Grabar")) {	
							if (objCFianza.getProveedor().equalsIgnoreCase("")) {
								Rpta= "Ingresar Proveedor";	
							}
							else{
						
								if (Existe.equals("no")){						
										if (objCFianza.getResponsable().equalsIgnoreCase("")){
											objCFianza.setEstado("No Iniciado");}			
										else {
											objCFianza.setEstado("Iniciado");
										}
											lstCartaFianza.add(objCFianza);
											Rpta = "Grabado Correctamente";
									}
								else{ 
									if(Existe.equals("si existe")){
											Rpta="No se puede Grabar, el codigo de la carta fianza ya Existe";}
								}
							}
					}		
					 else if (sw.equalsIgnoreCase("Editar")) {
							if (objLCFianza.getResponsable().equalsIgnoreCase("")) {
								lstCartaFianza.set(index, objLCFianza);
								Rpta = "Carta Fianza Modificada";
							} 
								else {
									Rpta = "No se puede modificar, La tarea fue asignada a " + objLCFianza.getResponsable();
								}			
					 }}
		return Rpta;
	}

	public String AsignarTarea(CartaFianza objAsigna) {
		CartaFianza objGAsigna = new CartaFianza();
		String Existe1="no";
		String Rpta1="";
		int index=0;
		if(objAsigna.getIdCartaFianza().equalsIgnoreCase("")){
			return "Debe Ingresar Codigo de Carta Fianza";
		}
		if(objAsigna.getResponsable().equalsIgnoreCase("")){
			return "Debe Ingresar Responsable";
		}
			for(int i=0;i<lstCartaFianza.size();i++){ //Encontrar el codigo de la carta fianza y aprovechar para buscar el Indice para editar
				objGAsigna=lstCartaFianza.get(i);
				if (lstCartaFianza.size()>0){
						if(objGAsigna.getIdCartaFianza().equalsIgnoreCase(objAsigna.getIdCartaFianza())){
							Existe1="si existe";
							index=i;
							break;}
						}
				}
		if (Existe1.equalsIgnoreCase("si existe")){
			objGAsigna=lstCartaFianza.get(index);
			if (objGAsigna.getEstado().equalsIgnoreCase("No Iniciado")){
				objGAsigna.setResponsable(objAsigna.getResponsable());
				Rpta1="Tarea Asignada a " + objGAsigna.getResponsable();}
			else if (objGAsigna.getEstado().equalsIgnoreCase("Iniciado")){
				Rpta1="Tarea ya fue Asignada a " + objGAsigna.getResponsable();
			} 
			}
			else if (Existe1.equalsIgnoreCase("no")){
				Rpta1="Codigo no existe";}
		
		return Rpta1;}
}
